package com.lesama.lambda;


/*
* lambda表达式： JDK8后用于优化匿名内部类的一种简化形式
* 格式： () -> {}, ()中为待重写函数的参数列表，{}中为具体实现的函数体
* 需要注意，lambda表达式只能优化函数式接口（只有一个抽象函数的接口）,可以通过@FunctionalInterface注意标识
* */

public class LambdaTest1 {
    public static void main(String[] args) {
        useInterA(new InterA() {
            @Override
            public void method() {
                System.out.println("匿名内部类实现重写接口");
            }
        });
        useInterA(() -> {
            System.out.println("lambda表达式重写接口");
        });
    }
    public static void useInterA(InterA interA) {
        interA.method();
    }
}

@FunctionalInterface
interface InterA {
    void method();
}